package com.example.question.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.yulichang.annotation.EntityMapping;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 题目集实体类
 * 用于管理面试题目的集合，可以按职位、级别等维度组织题目
 * @author 颜殿
 */
@Data
@TableName("interview_question_set")
public class QuestionSet implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    
    /** 题目集名称 */
    @TableField(value = "name")
    private String name;
    
    /** 题目集描述 */
    @TableField(value = "description")
    private String description;

    /** 题目排序序号 */
    @TableField(value = "order_num")
    private Integer orderNum;
    
    /** 关联的职位ID */
    @TableField(value = "positions_id")
    private Integer positionsId;
    
    /** 状态 */
    @TableField(value = "status")
    private Integer status;
    
    /** 创建时间 */
    @TableField(value = "created_at")
    private LocalDateTime createdAt;
    
    /** 更新时间 */
    @TableField(value = "updated_at")
    private LocalDateTime updatedAt;

    /** 关联的职位信息 */
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "id")
    private Positions position;
} 